/*
 * SizeAdmissionControl.h
 *
 *  Created on: 2011-04-15
 *      Author: awjastrzebski
 */

#ifndef SIZEADMISSIONCONTROL_H_
#define SIZEADMISSIONCONTROL_H_

#include "AbstractAdmissionControl.h"

/**
 * Implementuje modul Admission Control odrzucajacy pakiety, ktorych wielkosc
 * w bajtach nie miesci sie w zadanym przedziale wielkosci dopuszczalnej.
 */
class SizeAdmissionControl : public AbstractAdmissionControl
{
protected:
	uint32_t minSize;
	uint32_t maxSize;

	/**
	 * Iniciuje parametry 'minSize' i 'maxSize'.
	 */
	virtual void initialize();

	/**
	 * Przepuszcza dany pakiet o ile jego wielkosc miesci sie w przedziale
	 * [minSize, maxSize].
	 */
	virtual bool acceptPacket(NetPacket* packet);
};

#endif /* SIZEADMISSIONCONTROL_H_ */
